<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ExponentialDistribution (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ExponentialDistribution (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExponentialDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/FDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/ExponentialDistribution.html" target="_top">Frames</a></li>
<li><a href="ExponentialDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.distribution</div>
<h2 title="Class ExponentialDistribution" class="title">Class ExponentialDistribution</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">org.apache.commons.math3.distribution.AbstractRealDistribution</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.distribution.ExponentialDistribution</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">ExponentialDistribution</span>
extends <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></pre>
<div class="block">Implementation of the exponential distribution.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="http://en.wikipedia.org/wiki/Exponential_distribution">Exponential distribution (Wikipedia)</a>, 
<a href="http://mathworld.wolfram.com/ExponentialDistribution.html">Exponential distribution (MathWorld)</a>, 
<a href="../../../../../serialized-form.html#org.apache.commons.math3.distribution.ExponentialDistribution">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#DEFAULT_INVERSE_ABSOLUTE_ACCURACY">DEFAULT_INVERSE_ABSOLUTE_ACCURACY</a></strong></code>
<div class="block">Default inverse cumulative probability accuracy.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.distribution.AbstractRealDistribution">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.math3.distribution.<a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></h3>
<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#random">random</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#randomData">randomData</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#SOLVER_DEFAULT_ABSOLUTE_ACCURACY">SOLVER_DEFAULT_ABSOLUTE_ACCURACY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#ExponentialDistribution(double)">ExponentialDistribution</a></strong>(double&nbsp;mean)</code>
<div class="block">Create an exponential distribution with the given mean.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#ExponentialDistribution(double,%20double)">ExponentialDistribution</a></strong>(double&nbsp;mean,
                       double&nbsp;inverseCumAccuracy)</code>
<div class="block">Create an exponential distribution with the given mean.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#ExponentialDistribution(org.apache.commons.math3.random.RandomGenerator,%20double)">ExponentialDistribution</a></strong>(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
                       double&nbsp;mean)</code>
<div class="block">Creates an exponential distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#ExponentialDistribution(org.apache.commons.math3.random.RandomGenerator,%20double,%20double)">ExponentialDistribution</a></strong>(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
                       double&nbsp;mean,
                       double&nbsp;inverseCumAccuracy)</code>
<div class="block">Creates an exponential distribution.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#cumulativeProbability(double)">cumulativeProbability</a></strong>(double&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X &lt;= x)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#density(double)">density</a></strong>(double&nbsp;x)</code>
<div class="block">Returns the probability density function (PDF) of this distribution
 evaluated at the specified point <code>x</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getMean()">getMean</a></strong>()</code>
<div class="block">Access the mean.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getNumericalMean()">getNumericalMean</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the mean of this
 distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getNumericalVariance()">getNumericalVariance</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the variance of this
 distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getSolverAbsoluteAccuracy()">getSolverAbsoluteAccuracy</a></strong>()</code>
<div class="block">Returns the solver absolute accuracy for inverse cumulative computation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getSupportLowerBound()">getSupportLowerBound</a></strong>()</code>
<div class="block">Access the lower bound of the support.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#getSupportUpperBound()">getSupportUpperBound</a></strong>()</code>
<div class="block">Access the upper bound of the support.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></strong>(double&nbsp;p)</code>
<div class="block">Computes the quantile function of this distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#isSupportConnected()">isSupportConnected</a></strong>()</code>
<div class="block">Use this method to get information about whether the support is connected,
 i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#isSupportLowerBoundInclusive()">isSupportLowerBoundInclusive</a></strong>()</code>
<div class="block">Whether or not the lower bound of support is in the domain of the density
 function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#isSupportUpperBoundInclusive()">isSupportUpperBoundInclusive</a></strong>()</code>
<div class="block">Whether or not the upper bound of support is in the domain of the density
 function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#logDensity(double)">logDensity</a></strong>(double&nbsp;x)</code>
<div class="block">Returns the natural logarithm of the probability density function (PDF) of this distribution
 evaluated at the specified point <code>x</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#sample()">sample</a></strong>()</code>
<div class="block">Generate a random value sampled from this distribution.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.distribution.AbstractRealDistribution">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.distribution.<a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></h3>
<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#cumulativeProbability(double,%20double)">cumulativeProbability</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#probability(double)">probability</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#probability(double,%20double)">probability</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#reseedRandomGenerator(long)">reseedRandomGenerator</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample(int)">sample</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_INVERSE_ABSOLUTE_ACCURACY">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_INVERSE_ABSOLUTE_ACCURACY</h4>
<pre>public static final&nbsp;double DEFAULT_INVERSE_ABSOLUTE_ACCURACY</pre>
<div class="block">Default inverse cumulative probability accuracy.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.math3.distribution.ExponentialDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ExponentialDistribution(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ExponentialDistribution</h4>
<pre>public&nbsp;ExponentialDistribution(double&nbsp;mean)</pre>
<div class="block">Create an exponential distribution with the given mean.
 <p>
 <b>Note:</b> this constructor will implicitly create an instance of
 <a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random"><code>Well19937c</code></a> as random generator to be used for sampling only (see
 <a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#sample()"><code>sample()</code></a> and <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample(int)"><code>AbstractRealDistribution.sample(int)</code></a>). In case no sampling is
 needed for the created distribution, it is advised to pass <code>null</code>
 as random generator via the appropriate constructors to avoid the
 additional initialisation overhead.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mean</code> - mean of this distribution.</dd></dl>
</li>
</ul>
<a name="ExponentialDistribution(double, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ExponentialDistribution</h4>
<pre>public&nbsp;ExponentialDistribution(double&nbsp;mean,
                       double&nbsp;inverseCumAccuracy)</pre>
<div class="block">Create an exponential distribution with the given mean.
 <p>
 <b>Note:</b> this constructor will implicitly create an instance of
 <a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random"><code>Well19937c</code></a> as random generator to be used for sampling only (see
 <a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#sample()"><code>sample()</code></a> and <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample(int)"><code>AbstractRealDistribution.sample(int)</code></a>). In case no sampling is
 needed for the created distribution, it is advised to pass <code>null</code>
 as random generator via the appropriate constructors to avoid the
 additional initialisation overhead.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mean</code> - Mean of this distribution.</dd><dd><code>inverseCumAccuracy</code> - Maximum absolute error in inverse
 cumulative probability estimates (defaults to
 <a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#DEFAULT_INVERSE_ABSOLUTE_ACCURACY"><code>DEFAULT_INVERSE_ABSOLUTE_ACCURACY</code></a>).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>mean &lt;= 0</code>.</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
<a name="ExponentialDistribution(org.apache.commons.math3.random.RandomGenerator, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ExponentialDistribution</h4>
<pre>public&nbsp;ExponentialDistribution(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
                       double&nbsp;mean)
                        throws <a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Creates an exponential distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rng</code> - Random number generator.</dd><dd><code>mean</code> - Mean of this distribution.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>mean &lt;= 0</code>.</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.3</dd></dl>
</li>
</ul>
<a name="ExponentialDistribution(org.apache.commons.math3.random.RandomGenerator, double, double)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ExponentialDistribution</h4>
<pre>public&nbsp;ExponentialDistribution(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
                       double&nbsp;mean,
                       double&nbsp;inverseCumAccuracy)
                        throws <a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Creates an exponential distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rng</code> - Random number generator.</dd><dd><code>mean</code> - Mean of this distribution.</dd><dd><code>inverseCumAccuracy</code> - Maximum absolute error in inverse
 cumulative probability estimates (defaults to
 <a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html#DEFAULT_INVERSE_ABSOLUTE_ACCURACY"><code>DEFAULT_INVERSE_ABSOLUTE_ACCURACY</code></a>).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>mean &lt;= 0</code>.</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.1</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getMean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMean</h4>
<pre>public&nbsp;double&nbsp;getMean()</pre>
<div class="block">Access the mean.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the mean.</dd></dl>
</li>
</ul>
<a name="density(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>density</h4>
<pre>public&nbsp;double&nbsp;density(double&nbsp;x)</pre>
<div class="block">Returns the probability density function (PDF) of this distribution
 evaluated at the specified point <code>x</code>. In general, the PDF is
 the derivative of the <a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#cumulativeProbability(double)"><code>CDF</code></a>.
 If the derivative does not exist at <code>x</code>, then an appropriate
 replacement should be returned, e.g. <code>Double.POSITIVE_INFINITY</code>,
 <code>Double.NaN</code>, or  the limit inferior or limit superior of the
 difference quotient.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PDF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value of the probability density function at point <code>x</code></dd></dl>
</li>
</ul>
<a name="logDensity(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logDensity</h4>
<pre>public&nbsp;double&nbsp;logDensity(double&nbsp;x)</pre>
<div class="block">Returns the natural logarithm of the probability density function (PDF) of this distribution
 evaluated at the specified point <code>x</code>. In general, the PDF is the derivative of the
 <a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#cumulativeProbability(double)"><code>CDF</code></a>. If the derivative does not exist at <code>x</code>,
 then an appropriate replacement should be returned, e.g. <code>Double.POSITIVE_INFINITY</code>,
 <code>Double.NaN</code>, or the limit inferior or limit superior of the difference quotient. Note
 that due to the floating point precision and under/overflow issues, this method will for some
 distributions be more precise and faster than computing the logarithm of
 <a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#density(double)"><code>RealDistribution.density(double)</code></a>. The default implementation simply computes the logarithm of
 <code>density(x)</code>.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#logDensity(double)">logDensity</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PDF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the logarithm of the value of the probability density function at point <code>x</code></dd></dl>
</li>
</ul>
<a name="cumulativeProbability(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cumulativeProbability</h4>
<pre>public&nbsp;double&nbsp;cumulativeProbability(double&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X &lt;= x)</code>. In other
 words, this method represents the (cumulative) distribution function
 (CDF) for this distribution.

 The implementation of this method is based on:
 <ul>
 <li>
 <a href="http://mathworld.wolfram.com/ExponentialDistribution.html">
 Exponential Distribution</a>, equation (1).</li>
 </ul></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the CDF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the probability that a random variable with this
 distribution takes a value less than or equal to <code>x</code></dd></dl>
</li>
</ul>
<a name="inverseCumulativeProbability(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inverseCumulativeProbability</h4>
<pre>public&nbsp;double&nbsp;inverseCumulativeProbability(double&nbsp;p)
                                    throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Computes the quantile function of this distribution. For a random
 variable <code>X</code> distributed according to this distribution, the
 returned value is
 <ul>
 <li><code>inf{x in R | P(X<=x) >= p}</code> for <code>0 &lt; p &lt;= 1</code>,</li>
 <li><code>inf{x in R | P(X<=x) > 0}</code> for <code>p = 0</code>.</li>
 </ul>

 The default implementation returns
 <ul>
 <li><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#getSupportLowerBound()"><code>RealDistribution.getSupportLowerBound()</code></a> for <code>p = 0</code>,</li>
 <li><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#getSupportUpperBound()"><code>RealDistribution.getSupportUpperBound()</code></a> for <code>p = 1</code>.</li>
 </ul>

 Returns <code>0</code> when <code>p= = 0</code> and
 <code>Double.POSITIVE_INFINITY</code> when <code>p == 1</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the cumulative probability</dd>
<dt><span class="strong">Returns:</span></dt><dd>the smallest <code>p</code>-quantile of this distribution
 (largest 0-quantile for <code>p = 0</code>)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if <code>p &lt; 0</code> or <code>p &gt; 1</code></dd></dl>
</li>
</ul>
<a name="sample()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sample</h4>
<pre>public&nbsp;double&nbsp;sample()</pre>
<div class="block">Generate a random value sampled from this distribution.

 The default implementation uses the
 <a href="http://en.wikipedia.org/wiki/Inverse_transform_sampling">
 inversion method.
 </a>

 <p><strong>Algorithm Description</strong>: this implementation uses the
 <a href="http://www.jesus.ox.ac.uk/~clifford/a5/chap1/node5.html">
 Inversion Method</a> to generate exponentially distributed random values
 from uniform deviates.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#sample()">sample</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample()">sample</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a random value.</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.2</dd></dl>
</li>
</ul>
<a name="getSolverAbsoluteAccuracy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSolverAbsoluteAccuracy</h4>
<pre>protected&nbsp;double&nbsp;getSolverAbsoluteAccuracy()</pre>
<div class="block">Returns the solver absolute accuracy for inverse cumulative computation.
 You can override this method in order to use a Brent solver with an
 absolute accuracy different from the default.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#getSolverAbsoluteAccuracy()">getSolverAbsoluteAccuracy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the maximum absolute error in inverse cumulative probability estimates</dd></dl>
</li>
</ul>
<a name="getNumericalMean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalMean</h4>
<pre>public&nbsp;double&nbsp;getNumericalMean()</pre>
<div class="block">Use this method to get the numerical value of the mean of this
 distribution.

 For mean parameter <code>k</code>, the mean is <code>k</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the mean or <code>Double.NaN</code> if it is not defined</dd></dl>
</li>
</ul>
<a name="getNumericalVariance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalVariance</h4>
<pre>public&nbsp;double&nbsp;getNumericalVariance()</pre>
<div class="block">Use this method to get the numerical value of the variance of this
 distribution.

 For mean parameter <code>k</code>, the variance is <code>k^2</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the variance (possibly <code>Double.POSITIVE_INFINITY</code> as
 for certain cases in <a href="../../../../../org/apache/commons/math3/distribution/TDistribution.html" title="class in org.apache.commons.math3.distribution"><code>TDistribution</code></a>) or <code>Double.NaN</code> if it
 is not defined</dd></dl>
</li>
</ul>
<a name="getSupportLowerBound()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportLowerBound</h4>
<pre>public&nbsp;double&nbsp;getSupportLowerBound()</pre>
<div class="block">Access the lower bound of the support. This method must return the same
 value as <code>inverseCumulativeProbability(0)</code>. In other words, this
 method must return
 <p><code>inf {x in R | P(X <= x) > 0}</code>.</p>

 The lower bound of the support is always 0 no matter the mean parameter.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>lower bound of the support (always 0)</dd></dl>
</li>
</ul>
<a name="getSupportUpperBound()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportUpperBound</h4>
<pre>public&nbsp;double&nbsp;getSupportUpperBound()</pre>
<div class="block">Access the upper bound of the support. This method must return the same
 value as <code>inverseCumulativeProbability(1)</code>. In other words, this
 method must return
 <p><code>inf {x in R | P(X <= x) = 1}</code>.</p>

 The upper bound of the support is always positive infinity
 no matter the mean parameter.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>upper bound of the support (always Double.POSITIVE_INFINITY)</dd></dl>
</li>
</ul>
<a name="isSupportLowerBoundInclusive()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportLowerBoundInclusive</h4>
<pre>public&nbsp;boolean&nbsp;isSupportLowerBoundInclusive()</pre>
<div class="block">Whether or not the lower bound of support is in the domain of the density
 function.  Returns true iff <code>getSupporLowerBound()</code> is finite and
 <code>density(getSupportLowerBound())</code> returns a non-NaN, non-infinite
 value.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the lower bound of support is finite and the density
 function returns a non-NaN, non-infinite value there</dd></dl>
</li>
</ul>
<a name="isSupportUpperBoundInclusive()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportUpperBoundInclusive</h4>
<pre>public&nbsp;boolean&nbsp;isSupportUpperBoundInclusive()</pre>
<div class="block">Whether or not the upper bound of support is in the domain of the density
 function.  Returns true iff <code>getSupportUpperBound()</code> is finite and
 <code>density(getSupportUpperBound())</code> returns a non-NaN, non-infinite
 value.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the upper bound of support is finite and the density
 function returns a non-NaN, non-infinite value there</dd></dl>
</li>
</ul>
<a name="isSupportConnected()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isSupportConnected</h4>
<pre>public&nbsp;boolean&nbsp;isSupportConnected()</pre>
<div class="block">Use this method to get information about whether the support is connected,
 i.e. whether all values between the lower and upper bound of the support
 are included in the support.

 The support of this distribution is connected.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExponentialDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/FDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/ExponentialDistribution.html" target="_top">Frames</a></li>
<li><a href="ExponentialDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
